upgrade: Properly set origin_refspec variable for resolve/printing
authorColin Walters <walters@verbum.org>
Wed, 26 Feb 2014 20:12:46 +0000 (15:12 -0500)
committerColin Walters <walters@verbum.org>
Wed, 26 Feb 2014 20:13:12 +0000 (15:13 -0500)
1) We were ignoring the remote, which is broken
2) We were printing NULL later on

src/ostree/ot-admin-builtin-upgrade.c

index 9fcae678eeb5655154828fc9c99dbbc0817ba03d..4139773957e03bbeb066fc7ca846bae6a42701d1 100644 (file)
@@ -50,9 +50,9 @@ ot_admin_builtin_upgrade (int argc, char **argv, OstreeSysroot *sysroot, GCancel
   gboolean ret = FALSE;
   GOptionContext *context;
   gs_unref_object OstreeRepo *repo = NULL;
-  gs_free char *origin_refspec = NULL;
   gs_free char *origin_remote = NULL;
   gs_free char *origin_ref = NULL;
+  gs_free char *origin_refspec = NULL;
   gs_free char *new_revision = NULL;
   gs_unref_object GFile *deployment_path = NULL;
   gs_unref_object GFile *deployment_origin_path = NULL;
@@ -98,12 +98,17 @@ ot_admin_builtin_upgrade (int argc, char **argv, OstreeSysroot *sysroot, GCancel
       if (!ostree_repo_pull (repo, origin_remote, refs_to_fetch, pullflags, progress,
                              cancellable, error))
         goto out;
+      
+      origin_refspec = g_strconcat (origin_remote, ":", origin_ref, NULL);
     }
+  else
+    origin_refspec = g_strdup (origin_ref);
+
 
-  if (!ostree_repo_resolve_rev (repo, origin_ref, FALSE, &new_revision,
+  if (!ostree_repo_resolve_rev (repo, origin_refspec, FALSE, &new_revision,
                                 error))
     goto out;
-
+  
   if (strcmp (ostree_deployment_get_csum (merge_deployment), new_revision) == 0)
     {
       g_print ("Refspec %s is unchanged\n", origin_refspec);